import request from '@/config/axios'

// 字段信息 VO
export interface TableInfoVO {
  id: number // id
  tableName: string // 表名称
  columnName: string // 字段名称
  columnDescribe: string // 字段描述
  columnType: string // 字段类型
  orginal: boolean // 是否原始字段（原始字段不允许修改）
  required: boolean // 是否必填
  selectType: string // 查询方式
  enableInsert: boolean // 是否可以插入
  enableUpdate: boolean // 是否可以修改
  status: number // 任务状态
  sort: number // 显示顺序
}

// 字段信息 API
export const TableInfoApi = {
  // 查询字段信息分页
  getTableInfoPage: async (params: any) => {
    return await request.get({ url: `/task/table-info/page`, params })
  },

  // 查询字段信息详情
  getTableInfo: async (id: number) => {
    return await request.get({ url: `/task/table-info/get?id=` + id })
  },

  // 新增字段信息
  createTableInfo: async (data: TableInfoVO) => {
    return await request.post({ url: `/task/table-info/create`, data })
  },

  // 修改字段信息
  updateTableInfo: async (data: TableInfoVO) => {
    return await request.put({ url: `/task/table-info/update`, data })
  },

  // 删除字段信息
  deleteTableInfo: async (id: number) => {
    return await request.delete({ url: `/task/table-info/delete?id=` + id })
  },

  // 导出字段信息 Excel
  exportTableInfo: async (params) => {
    return await request.download({ url: `/task/table-info/export-excel`, params })
  },
}